package com.syni.mdd.yhd.common.all.service;

import com.syni.mdd.yhd.common.all.dao.jpa.BmsDxOrderStatusDao;
import com.syni.mdd.yhd.common.all.entity.BmsDxOrder;
import com.syni.mdd.yhd.common.all.entity.BmsDxOrderStatus;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface BmsDxOrderStatusService {
    BmsDxOrderStatusDao getBaseDao();

    Integer getBusinessConsumerUsersNum(Integer businessId);

    List<Map> getBusinessConsumerUsers(Integer businessId, Pageable pageable);

    List<Map> getBusinessConsumerUsers(Integer businessId, Set userIds);

    List<Map> getBusinessConsumerUsers(Integer businessId);

    List<Map> getBusinessConsumerUsers(Set userIds);

    List<Map<String,Object>> countUserReceCoupon(Set userReceIds);

    Map<Integer,Map<String,Object>> countCouponOrderSuccessNum(Integer buinessId,Set<Integer> userIds);

    Map<Integer, Map<String, Object>> countGroupOrderSuccessNum(Integer businessId, Set<Integer> userIds);

    void deleteAllRefundStatus(Integer orderId,Integer status);

    void deleteAllRefundStatus(Integer orderId,Set<Integer> status);

    void addOrderStatus(BmsDxOrder bmsDxOrder, Integer refundComplete);

    Map<Integer, Integer> countNoPayAndUse(Set<Integer> orderTypes, Integer userId);

    List<BmsDxOrderStatus> findByBusinessId(Integer id);
}
